package cn.appsys.dao.devuser;

import cn.appsys.pojo.BackendUser;
import cn.appsys.pojo.DevUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DevUserMapper {
	/**
	 * 通过devCode获取用户记录
	 * @param devCode
	 * @return
	 * @throws Exception
	 */
	public DevUser getLoginUser(@Param("devCode") String devCode)throws Exception;


	/**
	 * 通过userCode获取后台用户记录
	 * @param userCode
	 * @return
	 * @throws Exception
	 */
	public BackendUser backgetLoginUser(@Param("userCode") String userCode)throws Exception;

	/**
	 * 审核app开发账号
	 * @param backId
	 * @param devCode
	 */
    void checkUser(@Param("backId")int backId,@Param("devCode")String devCode);

	/**
	 * 根据条件获取用户记录数
	 * @param queryUserName
	 * @return
	 */
	int getUserCount(@Param("queryUserName")String queryUserName);

	/**
	 * 根据条件获取用户列表
	 * @param queryUserName
	 * @param currentPageNo
	 * @param pageSize
	 * @return
	 */
	List<DevUser> getUserList(@Param("queryUserName")String queryUserName, @Param("currentPageNo")int currentPageNo, @Param("pageSize")int pageSize);

	/**
	 * 更新用户为未审核状态（createBy=-1）
	 * @param userId
	 */
	void updateCreateBy(@Param("userId")int userId);

	/**
	 * 根据id删除用户
	 * @param userId
	 */
	void deleteUser(@Param("userId")int userId);

	int addUser(DevUser devUser);

	/**
	 * 根据devCode查找开发者用户
	 * @param devCode
	 * @return
	 */
    DevUser getUser(@Param("devCode") String devCode);

	/**
	 * 更新开发者信息
	 * @param devUser
	 */
    void update(DevUser devUser);
}
